package roles;

import graficos.RepresentacionGrafica;
import inteligencia_mapa.HiloParaMalo;
import javax.swing.Icon;
import javax.swing.ImageIcon;

import recursos.Coordenada;

import main.Programa;

public class KoopaTroopa extends Malo {
	
	protected int cont;
	protected ImageIcon [] imagenes;
	protected boolean mover;
	
	public KoopaTroopa(Programa MP, Coordenada C){
		super(MP,C,new RepresentacionGrafica(new ImageIcon("src/recursos/ktd.gif")));
		cont = 0;
		miHilo = new HiloParaMalo(MP, this);
		imagenes = new ImageIcon [3];
		mover = true;
		cargarImagenes();
	}
	private  void cargarImagenes(){
		imagenes[0] = new ImageIcon(getClass().getResource("/recursos/kti.gif"));
		imagenes[1] = new ImageIcon(getClass().getResource("/recursos/kts.gif"));
		imagenes[2] = new ImageIcon(getClass().getResource("/recursos/kts.gif"));
	}
	
	/*
	 * opcion 1 = movimiento izquierda
	 * opcion 2 = recibio 1 golpe
	 */
	public void cambiarImagen(int opcion){
		switch (opcion) {
		case 0: {
			 miRepresentacionGrafica.setIcon(imagenes[0]);
		}break;
		case 1: {
			miRepresentacionGrafica.setIcon(imagenes[1]);
		}break;
		case 2: {
			miRepresentacionGrafica.setIcon(imagenes[2]);
		}break;
		}
	}
	
	public void irDerecha(int vel){
		if(mover){	
			if(!vaderecha){
				cambiarImagen(2);
				vaderecha = true;
			}
			establecerCoordenada(this.obtenerCoordenada().obtenerX()+vel,this.obtenerCoordenada().obtenerY());
		}
	}
	
	public void irIzqierda(int vel){
		if(mover){
			vaderecha = false;
			if(!vaderecha){
				cambiarImagen(0);
			}
			establecerCoordenada(this.obtenerCoordenada().obtenerX()-vel,this.obtenerCoordenada().obtenerY());
		}
	}
	public void matarMario(){
		elPrograma.incrementarPuntaje(-45);
	}
	
	
	
	public boolean matar(){
		estoyMuerto = true;
		cambiarImagen(1);
		mover = false;
		if(cont == 1){
			miHilo.stop();
			elPrograma.incrementarPuntaje(90);
		}else
			cont = 1;
		return true;
	}
	
}
